package com.jy.modules.cims.data.dao;

import java.util.List;
import java.util.Map;

import com.jy.modules.cims.data.dto.QuotaCreditDetailDto;
import com.jy.platform.core.mybatis.MyBatisRepository;
/**
 * @classname: QuotaCreditDetailDao
 * @description: 定义  T_C_MM_QUOTA_CREDIT_DETAIL 持久层 接口
 * 通过@MapperScannerConfigurer扫描目录中的所有接口, 动态在Spring Context中生成实现.
 * 方法名称必须与Mapper.xml中保持一致.
 * @author:  zhiqiang
 */
@MyBatisRepository
public interface QuotaCreditDetailDao {
    
    /**
     * @author zhiqiang
     * @description: 分页查询T_C_MM_QUOTA_CREDIT_DETAIL
     * @date 2015-01-14 18:02:48
     * @param searchParams
     * @return
     */
    public List<QuotaCreditDetailDto> searchQuotaCreditDetailByPaging(Map<String, Object> searchParams) ;
    
    /**
     * @author zhiqiang
     * @description:查询对象T_C_MM_QUOTA_CREDIT_DETAIL
     * @date 2015-01-14 18:02:48
     * @param searchParams
     * @return
     */
    public List<QuotaCreditDetailDto> searchQuotaCreditDetail(Map<String,Object> searchParams);

    /**
     * @author zhiqiang
     * @description:查询对象T_C_MM_QUOTA_CREDIT_DETAIL
     * @date 2015-01-14 18:02:48
     * @param id
     * @return
     */
    public QuotaCreditDetailDto findQuotaCreditDetailByPrimaryKey(String id);
    
    /**
     * @author zhiqiang
     * @description: 新增对象T_C_MM_QUOTA_CREDIT_DETAIL
     * @date 2015-01-14 18:02:48
     * @param paramMap
     * @return
     */
    public int insertQuotaCreditDetail(Map<String, Object> paramMap);
    
    /**
     * @author zhiqiang
     * @description: 更新对象T_C_MM_QUOTA_CREDIT_DETAIL
     * @date 2015-01-14 18:02:48
     * @param paramMap
     */
    public void updateQuotaCreditDetail(Map<String, Object> paramMap);
    
   /**
    * @author shengzhoutao
    * @description: 更新对象T_C_MM_QUOTA_CREDIT_DETAIL
    * @param paramMap
    * @return
    */
    public int updateQuotaCreditDetailDealStatus(Map<String, Object> paramMap);
     
    /**
     * @author zhiqiang
     * @description: 按主键删除T_C_MM_QUOTA_CREDIT_DETAIL
     * @date 2015-01-14 18:02:48
     * @param ids
     * @return
     */ 
    public void deleteQuotaCreditDetailByPrimaryKey(Map<String, Object> paramMap);
    
    /**
     * 
     * @Title searchQuotaCreditDetailByQuotaCredit
     * @Description TODO
     * @param paramMap
     * @return 
     * List<QuotaCreditDetailDto> 
     * @author shengzhoutao
     * @date 2015-2-2-下午2:12:38
     * @update 
     * @throws
     */
    public List<QuotaCreditDetailDto> searchQuotaCreditDetailByQuotaCredit(Map<String, Object> paramMap);
    
    /**
     * @description: 获取回款匹配债权额度多余的债权
     * @param searchParams
     * @return
     */
    public List<QuotaCreditDetailDto> getReleaseSurplusCreditForSettle(Map<String, Object> searchParams) ;
    
    /**
     * 修改额度明细状态
     * @author zhangmi
     * @date  2017年2月27日
     * @param paramMap
     */
    public void updateQuotaCreditDetailStatusById(Map<String, Object> paramMap);
}
